import { post, get, DCAPI } from "libs/api"

const FILE_ROOT = `${DCAPI}file/`
const MYSQL_ROOT = `${DCAPI}dbs/`
// 查询文件数据源
export function getfiles (query) {
  return post(`${FILE_ROOT}dataSourceForFileQuery`, JSON.stringify(query))
}
// 查询MySql数据源
export function getdbs (query) {
  return post(`${MYSQL_ROOT}DataSourceQuery`, JSON.stringify(query))
}
// 新增文件数据源
export function addFileSource (data) {
  return post(`${FILE_ROOT}saveDataSoruceForFile`, JSON.stringify(data))
}
// 新增MySql数据源
export function addDBSource (data) {
  return post(`${MYSQL_ROOT}saveDataSoruceForMySql`, JSON.stringify(data))
}
// 更新文件数据源
export function updatefile (data) {
  return post(`${FILE_ROOT}updateDbsForFile`, JSON.stringify(data))
}
// 数据源更新纪录
export function getFileLogs (id) {
  return get(`${FILE_ROOT}getDbsForFileById/${id}`)
}
// 文件数据源重命名
export function renamefile ({ id, name }) {
  return post(`${FILE_ROOT}updateDataSourceName/${id}/${name}`)
}
// 编辑MySQL数据源
export function updateDbSource (data) {
  return post(`${MYSQL_ROOT}updateDataSoruceForMySql`, JSON.stringify(data))
}

// 删除MySQL数据源
export function delSql (data) {
  return get(`${MYSQL_ROOT}deleteDataSourceForMysqlById${createQuery(data)}`)
}
// 删除文件数据源
export function delXls (data) {
  return get(`${FILE_ROOT}deleteDataSourceForFileById${createQuery(data)}`)
}
// 获取文件表头
export function getFileHeader (fileAddress) {
  return post(`${FILE_ROOT}getDataSourceForFileByHeader?fileAddress=${fileAddress}`)
}

// 测试连接
export function test (id) {
  return get(`${MYSQL_ROOT}testDbsForMySQLById/${id}`)
}
function createQuery (data) {
  let query = ""
  for (let [k, v] of Object.entries(data)) {
    query += query ? "&" : "?" + `${k}=${v}`
  }
  return query
}
